-
Notifications
You must be signed in to change notification settings - Fork 236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CS2113T-T12-2] PayMeBack #31
base: master
Are you sure you want to change the base?
[CS2113T-T12-2] PayMeBack #31
Conversation
## Design | ||
|
||
### Architecture | ||
The ***Architecture Diagram*** given above explains the high-level design of the App. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Diagram remained to be finished
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep I agree, better to have atleast a few class diagrams
The `Expense` class deals with most functionalities related to adding an expense inside a trip. The sequence diagram below shows how an expense is initialised. | ||
![](../Resources/Expense%20Sequence%20Diagram.jpeg) | ||
|
||
When `Parser` calls the `executeExpense` method, it creates an expense object, and also calls the `promptDate` method to set that expense object’s date. `promptDate` calls `isDateValid` to validate user input. | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to add some in this part?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, good job! Explanations are clear and precise, however just need to improve the readability factor 👍🏽
docs/DeveloperGuide.md
Outdated
|
||
### `Expense` Class | ||
The `Expense` class deals with most functionalities related to adding an expense inside a trip. The sequence diagram below shows how an expense is initialised. | ||
![](../Resources/Expense%20Sequence%20Diagram.jpeg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unable to view sequence diagram. Perhaps you could recheck the directory/link?
docs/DeveloperGuide.md
Outdated
The `Parser` class | ||
- Contains the logic to check user commands and break the input into the necessary contents for other classes to use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps, documentations like this can be followed for the other classes too?
|
||
## Acknowledgements |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding hyperlinks to subtopics would be a great idea! (like content pointers used in UG)
docs/DeveloperGuide.md
Outdated
The Person Class, | ||
* Represents an individual that participated in an expense or a whole trip. | ||
* A user-defined amount of `Person` objects will be created by the user during the create function of the `Trip` Class. | ||
* Every time an object is created of the `Expense` Class, the user may define the people who were involved in the expense, however the people who are added to the expense must be already a `Person` object in the `Trip` object that the expense was made. | ||
* One `Person` object who was involved in the expense will then be appointed as the payer of the group, the user will then have to indicate how much (in foreign currency) each of the participating persons spent for that particular expense. This is then stored and updated in each of the respective `Person` object’s `moneyOwed` HashMap, where a positive double refers to how much the person owes the respective Person object (i.e. the key of the HashMap) and a negative double refers to how much the Person object (i.e. the key of the HashMap) owes to that instance of the Person object. | ||
* Example: If the HashMap = {person2 = 22, person3 = -11} in the person1 object, then person1 owes person2 $22 and person3 owes person1 $11. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a fellow developer, I would like to recommend that the description for each your classes could follow a standard format. This would help the reader easily understand the idea/explanations of the concepts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs abit more content
## Design | ||
|
||
### Architecture | ||
The ***Architecture Diagram*** given above explains the high-level design of the App. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep I agree, better to have atleast a few class diagrams
The ***Architecture Diagram*** given above explains the high-level design of the App. | ||
|
||
Given below is a quick overview of main components and how they interact with each other. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could add an object diagram here to show how the classes interact with one another
- Prints the information through the terminal. | ||
|
||
### `Parser` Class | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A UML class diagram would be helpful here to show the associations used for each command being called here.
docs/DeveloperGuide.md
Outdated
The remaining components are as follows: | ||
|
||
`Ui`: The User Interface of the App | ||
`Parser`: The command executor |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having line breaks here may improve your DG as it makes the DG more readable and easier to understand, and it will be slightly less cluttered.
and is a container class for the expenses (each expense being represented by an | ||
instance of the `Expense` class) and persons (each person being represented by an | ||
instance of the `Person` class) tagged to the trip. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the Trip class contains many other classes and constructors of the other classes, would a UML diagram here help with the clarity of your DG?
add duplicate detection for new trips + update error message for empty delete
Heavily tested 'help' command, should be ready for PE now
Final iteration
some UG fixes, added some javadoc & author tags
Updated java docs for filter and optimize functions
added man testing for edit trip and summary
Fixed spacing
…into v2.0-WorkingBranch � Conflicts: � docs/DeveloperGuide.md
small update!
Fixed spacing
placeholder